﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ModelUML
{
    [Serializable]
    public class OperacjaUML : ElementUML
    {
        public OperacjaUML(String nazwa, TypDanychUML returnType) {
            Typ = returnType;
            Nazwa = nazwa;
            atrybuty = new KolekcjaUML();
            Visibility = VisibilityKindUML.package;
        }

        public void UsunAtrybuty()
        {
            atrybuty.Wyczysc();
        }

        internal KolekcjaUML atrybuty;
        public void DodajAtrybut(AtrybutUML atrybut)
        {
            atrybuty.Dodaj(atrybut);
        }
        public int IloscAtrybutow
        {
            get
            {
                return atrybuty.Count;
            }
        }
        public AtrybutUML GetAtrybut(int index){
            return (AtrybutUML)atrybuty[index];
        }                
    
        TypDanychUML returnType;
        public TypDanychUML Typ
        {
            get
            {
                return returnType;
            }
            set
            {
                returnType = value;
            }
        }
        public bool CzyZwracaWynik
        {
            get
            {
                if (returnType == null) return false;
                else return true;
            }
        }
    }
}
